package com.xu.common.domain;

import lombok.Getter;
import lombok.Setter;

/**
 * 自定义响应对象
 *
 * @author xu
 * 2022/7/19 16:21
 */
@Getter
@Setter
public class MyResult {
    /**
     * 状态码
     */
    private int code;
    /**
     * 响应说明
     */
    private String msg;
    /**
     * 返回数据
     */
    private Object data;


    /**
     * 请求成功
     */
    public static MyResult ok(){
        return ok(null);
    }

    /**
     * 请求成功
     * @param data 返回数据
     */
    public static MyResult ok(Object data){
        return ok(MyResultCode.OK,"请求成功",data);
    }

    /**
     * 请求成功
     * @param code 状态码
     * @param msg 响应说明
     * @param data 返回数据
     */
    public static MyResult ok(int code,String msg,Object data){
        MyResult myResult = new MyResult();
        myResult.setCode(code);
        myResult.setMsg(msg);
        myResult.setData(data);
        return myResult;
    }

    /**
     * 请求失败
     * @param msg 响应说明
     */
    public static MyResult fail(String msg){
        return ok(MyResultCode.BAD_REQUEST,msg,null);
    }

    /**
     * 请求失败
     * @param code 状态码
     * @param msg 响应说明
     */
    public static MyResult fail(int code,String msg){
        return ok(code,msg,null);
    }
}
